from PublicReference.base import *

class 职业主动技能(主动技能):
    中毒 = []
    中毒倍率 = 1.0
    中毒叠加次数 = 1
    出血 = []
    出血倍率 = 1.0
    出血叠加次数 = 1
    灼伤 = []
    灼伤倍率 = 1.0
    灼伤叠加次数 = 1
    感电 = []
    感电倍率 = 1.0
    感电叠加次数 = 1

    后街战术 = 1.0

    data0 = []
    data1 = []
    data2 = []
    data3 = []
    data4 = []
    data5 = []
    data6 = []

    异常叠加增伤 = 1.0

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        if len(self.data0) >= self.等级 and len(self.data0) > 0:
            等效倍率 += self.data0[self.等级] * self.攻击次数 * self.后街战术 * self.异常叠加增伤
        if len(self.data1) >= self.等级 and len(self.data1) > 0:
            等效倍率 += self.data1[self.等级] * self.攻击次数2 * self.后街战术 * self.异常叠加增伤
        if len(self.data2) >= self.等级 and len(self.data2) > 0:
            等效倍率 += self.data2[self.等级] * self.攻击次数3 * self.后街战术 * self.异常叠加增伤
        if len(self.data3) >= self.等级 and len(self.data3) > 0:
            等效倍率 += self.data3[self.等级] * self.攻击次数4 * self.后街战术 * self.异常叠加增伤
        if len(self.data4) >= self.等级 and len(self.data4) > 0:
            等效倍率 += self.data4[self.等级] * self.攻击次数5 * self.后街战术 * self.异常叠加增伤
        if len(self.data5) >= self.等级 and len(self.data5) > 0:
            等效倍率 += self.data5[self.等级] * self.攻击次数6 * self.后街战术 * self.异常叠加增伤
        if len(self.data6) >= self.等级 and len(self.data6) > 0:
            等效倍率 += self.data6[self.等级] * self.攻击次数7 * self.后街战术 * self.异常叠加增伤
        if len(self.中毒) >= self.等级 and len(self.中毒) > 0:
            等效倍率 += self.中毒[self.等级] * self.中毒倍率 * self.中毒叠加次数
        if len(self.出血) >= self.等级 and len(self.出血) > 0:
            等效倍率 += self.出血[self.等级] * self.出血倍率 * self.出血叠加次数
        if len(self.灼伤) >= self.等级 and len(self.灼伤) > 0:
            等效倍率 += self.灼伤[self.等级] * self.灼伤倍率 * self.灼伤叠加次数
        if len(self.感电) >= self.等级 and len(self.感电) > 0:
            等效倍率 += self.感电[self.等级] * self.感电倍率 * self.感电叠加次数
        return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率

    def 等效CD(self, 武器类型, 输出类型):
        return round(self.CD / self.恢复, 1)

# class 主动技能(主动技能):
#     中毒基础 = 0
#     中毒成长 = 0
#     中毒倍率 = 1
#     出血基础 = 0
#     出血成长 = 0
#     出血倍率 = 1
#     灼伤基础 = 0
#     灼伤成长 = 0
#     灼伤倍率 = 1
#     感电基础 = 0
#     感电成长 = 0
#     感电倍率 = 1
#     基础2 = 0
#     成长2 = 0
#     攻击次数2 = 0

#     def 等效百分比(self, 武器类型):
#         if self.等级 == 0:
#             return 0
#         else:
#             return int((self.攻击次数 * (self.基础 + self.成长 * self.等级)
#                         + self.攻击次数2 * (self.基础2 + self.成长2 * self.等级)
#                         + self.中毒倍率 * (self.中毒基础 + self.中毒成长 * self.等级)
#                         + self.出血倍率 * (self.出血基础 + self.出血成长 * self.等级)
#                         + self.灼伤倍率 * (self.灼伤基础 + self.灼伤成长 * self.等级)
#                         + self.感电倍率 * (self.感电基础 + self.感电成长 * self.等级))
#                        * (1 + self.TP成长 * self.TP等级) * self.倍率)

#     def 等效CD(self, 武器类型, 输出类型):
#         return round(self.CD / self.恢复, 1)
class 技能0(被动技能):
    名称 = '基础精通'
    倍率 = 1.0
    所在等级 = 1
    等级上限 = 200
    基础等级 = 100
    关联技能 = ['罗网投掷']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(职业主动技能):
    名称 = '抛沙'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    基础 = 751
    成长 = 108
    #魔法武器攻击力：<data0>%
    data0 = [0, 891, 994, 1103, 1213, 1321, 1427, 1534, 1642, 1751, 1854, 1964, 2069, 2179, 2284, 2395, 2500, 2606, 2713, 2820, 2930, 3035, 3141, 3250, 3357, 3465, 3572, 3681, 3789, 3894, 4003, 4111, 4220, 4325, 4432, 4541, 4648, 4756, 4859, 4970, 5078, 5186, 5290, 5402, 5508, 5611, 5719, 5828, 5929, 6040, 6149, 6258, 6367, 6472, 6580, 6688, 6794, 6899, 7010, 7116, 7223, 7331, 7439, 7545, 7653, 7761, 7868, 7976, 8080, 8190, 8298]
    后街战术 = 1.5  # 后街战术
    CD = 3.0
    TP成长 = 0.08
    TP上限 = 5


class 技能2(职业主动技能):
    名称 = '毒瓶投掷'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 31
    # 基础 = 228 * 1.6  # 后街，下同
    # 成长 = 54 * 1.6
    # 中毒基础 = 232
    # 中毒成长 = 57
    # 灼伤基础 = 232
    # 灼伤成长 = 57

    后街战术 = 1.6
    #毒瓶魔法攻击力：<data0>%
    data0 = [0, 328, 381, 433, 485, 537, 590, 644, 696, 748, 799, 854, 905, 958, 1010, 1062, 1114, 1167, 1219, 1273, 1325, 1377, 1430, 1481, 1533, 1586, 1638, 1692, 1745, 1796, 1848, 1902, 1954, 2007, 2059, 2110, 2163, 2216, 2269, 2321, 2373, 2425, 2477, 2530, 2583, 2636, 2688, 2739, 2791, 2844, 2898, 2950, 3002, 3054, 3108, 3160, 3213, 3265, 3317, 3370, 3421, 3473, 3527, 3579, 3631, 3684, 3736, 3788, 3841, 3893, 3947]
    #中毒攻击力 (魔法)：<data1>%
    中毒 = [0, 346, 400, 455, 510, 566, 621, 677, 732, 787, 841, 896, 953, 1006, 1062, 1116, 1172, 1226, 1282, 1337, 1393, 1448, 1503, 1558, 1613, 1669, 1723, 1779, 1833, 1889, 1942, 1999, 2054, 2108, 2165, 2220, 2275, 2329, 2386, 2440, 2495, 2549, 2606, 2661, 2714, 2771, 2825, 2880, 2935, 2992, 3047, 3101, 3156, 3213, 3266, 3321, 3378, 3432, 3487, 3541, 3598, 3651, 3708, 3764, 3818, 3873, 3928, 3984, 4038, 4094, 4148]
    #灼伤攻击力 (魔法)：<data4>%
    灼伤 = [0, 346, 400, 455, 510, 566, 621, 677, 732, 787, 841, 896, 953, 1006, 1062, 1116, 1172, 1226, 1282, 1337, 1393, 1448, 1503, 1558, 1613, 1669, 1723, 1779, 1833, 1889, 1942, 1999, 2054, 2108, 2165, 2220, 2275, 2329, 2386, 2440, 2495, 2549, 2606, 2661, 2714, 2771, 2825, 2880, 2935, 2992, 3047, 3101, 3156, 3213, 3266, 3321, 3378, 3432, 3487, 3541, 3598, 3651, 3708, 3764, 3818, 3873, 3928, 3984, 4038, 4094, 4148]

    CD = 2.0
    TP成长 = 0.10
    TP上限 = 5

    投掷强化 = 0

    def 等效百分比(self, 武器类型):
        if self.投掷强化 == 1:
            #[投掷强化]中毒攻击力 (魔法)：<data3>%
            self.中毒 = [0, 1166, 1349, 1537, 1722, 1908, 2094, 2280, 2464, 2650, 2837, 3023, 3208, 3395, 3580, 3766, 3951, 4138, 4322, 4509, 4696, 4880, 5068, 5252, 5437, 5623, 5810, 5995, 6180, 6368, 6554, 6738, 6924, 7110, 7296, 7481, 7669, 7852, 8039, 8224, 8410, 8596, 8782, 8967, 9153, 9340, 9525, 9710, 9897, 10082, 10268, 10454, 10641, 10826, 11011, 11197, 11382, 11570, 11755, 11940, 12127, 12311, 12497, 12682, 12870, 13056, 13241, 13428, 13613, 13798, 13983]
            self.后街战术 = 1
            # 灼伤是否还有不确定,是否=中毒的不确定
            # self.灼伤 = [0, 1166, 1349, 1537, 1722, 1908, 2094, 2280, 2464, 2650, 2837, 3023, 3208, 3395, 3580, 3766, 3951, 4138, 4322, 4509, 4696, 4880, 5068, 5252, 5437, 5623, 5810, 5995, 6180, 6368, 6554, 6738, 6924, 7110, 7296, 7481, 7669, 7852, 8039, 8224, 8410, 8596, 8782, 8967, 9153, 9340, 9525, 9710, 9897, 10082, 10268, 10454, 10641, 10826, 11011, 11197, 11382, 11570, 11755, 11940, 12127, 12311, 12497, 12682, 12870, 13056, 13241, 13428, 13613, 13798, 13983]
        return super().等效百分比(武器类型)


class 技能3(职业主动技能):
    名称 = '擒月炎'
    所在等级 = 20
    等级上限 = 60
    基础等级 = 43
    # 基础 = 2003
    # 成长 = 216
    CD = 5.8
    TP成长 = 0.10
    TP上限 = 5
    异常叠加增伤 = 1.6
    #扫腿魔法攻击力：<data0>%
    data0 = [0, 405, 446, 482, 521, 558, 598, 635, 674, 711, 749, 787, 826, 864, 902, 941, 980, 1016, 1055, 1090, 1130, 1168, 1206, 1244, 1283, 1321, 1359, 1396, 1435, 1473, 1507, 1549, 1583, 1625, 1660, 1700, 1737, 1778, 1812, 1852, 1889, 1929, 1966, 2005, 2042, 2083, 2115, 2158, 2193, 2234, 2234, 2304, 2344, 2381, 2420, 2457, 2496, 2532, 2573, 2608, 2650, 2685, 2722, 2760, 2798, 2836, 2875, 2913, 2951, 2987, 3026]
    #后踢魔法攻击力：<data1>% 不可抓取敌人无后踢伤害
    data1 = [0, 405, 446, 482, 521, 558, 598, 635, 674, 711, 749, 787, 826, 864, 902, 941, 980, 1016, 1055, 1090, 1130, 1168, 1206, 1244, 1283, 1321, 1359, 1396, 1435, 1473, 1507, 1549, 1583, 1625, 1660, 1700, 1737, 1778, 1812, 1852, 1889, 1929, 1966, 2005, 2042, 2083, 2115, 2158, 2193, 2234, 2234, 2304, 2344, 2381, 2420, 2457, 2496, 2532, 2573, 2608, 2650, 2685, 2722, 2760, 2798, 2836, 2875, 2913, 2951, 2987, 3026]
    攻击次数2 = 0
    #侧踢魔法攻击力：<data2>%
    data2 = [0, 1474, 1615, 1751, 1889, 2030, 2165, 2304, 2445, 2582, 2718, 2857, 2994, 3133, 3274, 3409, 3549, 3688, 3824, 3963, 4105, 4240, 4380, 4517, 4653, 4792, 4931, 5069, 5208, 5347, 5483, 5624, 5761, 5899, 6038, 6177, 6314, 6450, 6591, 6728, 6868, 7005, 7143, 7281, 7420, 7558, 7699, 7835, 7971, 8113, 8113, 8378, 8514, 8651, 8792, 8929, 9065, 9204, 9341, 9480, 9614, 9756, 9895, 10030, 10170, 10307, 10445, 10586, 10721, 10858, 10999]
    攻击次数3 = 1

class 技能4(被动技能):
    名称 = '爪精通'
    所在等级 = 25
    等级上限 = 30
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        return (1.31 + (self.等级 - 20) * 0.02) if self.等级 >= 20 else (1.11 + self.等级 * 0.01)

    def 物理攻击力倍率(self, 武器类型):
        return (1.31 + (self.等级 - 20) * 0.02) if self.等级 >= 20 else (1.11 + self.等级 * 0.01)

    def 魔法攻击力倍率(self, 武器类型):
        return (1.31 + (self.等级 - 20) * 0.02) if self.等级 >= 20 else (1.11 + self.等级 * 0.01)


class 技能5(职业主动技能):
    名称 = '毒针投掷'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41
    # 基础 = 303 * 1.9  # 后街，下同
    # 成长 = 29 * 1.9
    #毒针攻击力 (魔法)：<data0>%
    data0 = [0, 295, 325, 354, 384, 415, 444, 474, 503, 535, 564, 594, 625, 654, 684, 713, 745, 774, 803, 833, 862, 894, 923, 953, 982, 1013, 1043, 1074, 1104, 1133, 1162, 1192, 1223, 1253, 1282, 1312, 1342, 1372, 1402, 1432, 1463, 1492, 1521, 1553, 1582, 1612, 1641, 1672, 1702, 1731, 1762, 1791, 1821, 1851, 1881, 1911, 1941, 1971, 2001, 2032, 2061, 2091, 2121, 2150, 2181, 2211, 2240, 2270, 2299, 2331, 2360]
    #出血攻击力 (魔法)：<data1>%
    出血 = [0, 258, 283, 309, 336, 362, 387, 415, 440, 466, 491, 518, 544, 570, 596, 623, 649, 675, 701, 728, 753, 780, 806, 832, 857, 883, 910, 936, 961, 989, 1014, 1041, 1067, 1093, 1120, 1146, 1171, 1198, 1223, 1249, 1276, 1302, 1327, 1355, 1380, 1408, 1433, 1459, 1486, 1512, 1537, 1563, 1589, 1615, 1641, 1668, 1694, 1721, 1746, 1773, 1799, 1825, 1851, 1878, 1903, 1929, 1954, 1981, 2007, 2033, 2060]

    后街战术 = 1.9
    # 感电基础 = 236
    # 感电成长 = 26

    投掷强化 = 0

    CD = 3
    TP成长 = 0.10
    TP上限 = 5

    def 等效百分比(self, 武器类型):
        if self.投掷强化 == 1:
            # 多重攻击状态下单枚毒针攻击力 (魔法)：<data2>%
            self.后街战术 = 1
            self.data0 = [0, 234, 259, 282, 306, 330, 353, 378, 400, 425, 449, 473, 497, 520, 543, 568, 592, 615, 640, 663, 688, 711, 734, 759, 783, 806, 831, 853, 878, 901, 924, 951, 973, 997, 1021, 1044, 1068, 1092, 1116, 1141, 1164, 1187, 1211, 1235, 1260, 1282, 1307, 1331, 1355, 1377, 1402, 1425, 1450, 1474, 1497, 1521, 1545, 1569, 1593, 1616, 1640, 1665, 1688, 1713, 1735, 1759, 1783, 1806, 1830, 1855, 1879]
            self.攻击次数 = 4
            self.出血 = [0, 354, 390, 426, 462, 498, 535, 570, 606, 643, 679, 713, 749, 786, 821, 857, 894, 930, 965, 1002, 1038, 1074, 1109, 1146, 1182, 1218, 1254, 1290, 1326, 1363, 1398, 1434, 1470, 1507, 1542, 1578, 1615, 1651, 1686, 1723, 1759, 1795, 1830, 1867, 1903, 1939, 1975, 2011, 2047, 2084, 2118, 2154, 2190, 2226, 2262, 2298, 2335, 2370, 2406, 2443, 2479, 2514, 2550, 2587, 2623, 2658, 2695, 2731, 2767, 2802, 2838]
            self.出血叠加次数 = 4
        return super().等效百分比(武器类型)

class 技能6(职业主动技能):
    名称 = '砖块投掷'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38

    投掷强化 = 0
    # 基础 = 1200
    # 成长 = 126
    # 基础2 = 1972
    # 成长2 = 228

    #砖块攻击力 (魔法)：<data0>%
    data0 = [0, 716, 790, 863, 937, 1009, 1082, 1155, 1229, 1301, 1374, 1446, 1518, 1592, 1664, 1737, 1810, 1884, 1956, 2030, 2103, 2174, 2247, 2319, 2393, 2467, 2541, 2612, 2686, 2758, 2830, 2904, 2975, 3049, 3123, 3196, 3269, 3342, 3413, 3486, 3559, 3632, 3706, 3778, 3852, 3923, 3997, 4070, 4142, 4215, 4286, 4360, 4434, 4507, 4579, 4653, 4725, 4799, 4871, 4942, 5016, 5090, 5163, 5236, 5309, 5381, 5455, 5526, 5599, 5672, 5745]
    #砖块碎片攻击力 (魔法)：<data1>%
    data1 = [0, 543, 596, 651, 706, 762, 818, 872, 926, 981, 1035, 1091, 1146, 1201, 1257, 1310, 1365, 1421, 1476, 1530, 1585, 1639, 1695, 1749, 1805, 1860, 1916, 1971, 2025, 2080, 2136, 2191, 2246, 2300, 2355, 2411, 2466, 2520, 2575, 2631, 2686, 2739, 2794, 2850, 2906, 2961, 3015, 3069, 3124, 3178, 3234, 3289, 3344, 3400, 3453, 3509, 3564, 3619, 3674, 3729, 3784, 3839, 3894, 3951, 4006, 4060, 4115, 4169, 4225, 4279, 4334]
    攻击次数2 = 1
    #巨石攻击力 (魔法)：<data5>%
    data2 = [0, 1274, 1405, 1534, 1664, 1793, 1922, 2050, 2180, 2310, 2440, 2569, 2698, 2829, 2957, 3086, 3217, 3344, 3475, 3603, 3734, 3863, 3992, 4122, 4251, 4380, 4509, 4639, 4768, 4898, 5027, 5157, 5286, 5415, 5545, 5673, 5804, 5932, 6063, 6192, 6321, 6451, 6580, 6709, 6838, 6967, 7097, 7227, 7358, 7486, 7615, 7743, 7874, 8002, 8132, 8262, 8392, 8522, 8650, 8780, 8908, 9038, 9167, 9296, 9427, 9556, 9687, 9815, 9944, 10072, 10203]
    攻击次数3 = 0
    #巨石碎块攻击力 (魔法)：<data6>%
    data3 = [0, 960, 1059, 1157, 1254, 1352, 1449, 1548, 1646, 1745, 1840, 1937, 2035, 2132, 2231, 2328, 2425, 2524, 2619, 2718, 2816, 2913, 3012, 3108, 3207, 3305, 3401, 3500, 3597, 3694, 3791, 3890, 3987, 4084, 4183, 4280, 4379, 4476, 4573, 4672, 4768, 4867, 4965, 5060, 5159, 5255, 5354, 5451, 5549, 5648, 5745, 5843, 5940, 6038, 6134, 6232, 6330, 6427, 6526, 6622, 6720, 6819, 6916, 7015, 7113, 7208, 7307, 7403, 7502, 7599, 7696]
    攻击次数4 = 0

    后街战术 = 1.6  # 后街战术
    CD = 4.0
    TP成长 = 0.10
    TP上限 = 5

    def 等效百分比(self, 武器类型):
        if self.投掷强化 == 1:
            self.攻击次数 = 0
            self.攻击次数2 = 0
            self.攻击次数3 = 1
            self.攻击次数4 = 1
            self.后街战术 = 1
        return super().等效百分比(武器类型)

class 技能7(职业主动技能):
    名称 = '伏虎霸王拳'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    # 基础 = 1200
    # 成长 = 128
    #[伏虎霸王拳]攻击力 (魔法)：<data0>%
    data0 = [0, 1257, 1387, 1517, 1647, 1777, 1907, 2036, 2167, 2295, 2427, 2557, 2687, 2815, 2946, 3077, 3206, 3334, 3466, 3596, 3726, 3855, 3987, 4115, 4247, 4375, 4506, 4635, 4766, 4895, 5025, 5157, 5286, 5417, 5544, 5676, 5805, 5936, 6064, 6196, 6325, 6456, 6584, 6716, 6844, 6976, 7104, 7236, 7365, 7495, 7625, 7753, 7885, 8014, 8144, 8273, 8404, 8535, 8664, 8793, 8925, 9055, 9185, 9314, 9446, 9574, 9706, 9834, 9965, 10094, 10224]
    攻击次数 = 3
    # 倍率 = 1.6  # 异常状态
    CD = 15
    TP成长 = 0.10
    TP上限 = 5


class 技能8(职业主动技能):
    名称 = '挑衅'
    所在等级 = 35
    等级上限 = 20
    基础等级 = 10
    是否有伤害 = 0
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.05 + 0.02 * self.等级, 5)


class 技能9(职业主动技能):
    名称 = '螺旋滑铲'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    倍率 = 1.2  # 无法抓取
    # 基础 = 2758
    # 成长 = 318
    #攻击力 (魔法)：<data0>%
    data0 = [0, 3122, 3438, 3755, 4071, 4387, 4705, 5021, 5339, 5655, 5971, 6286, 6603, 6921, 7238, 7556, 7870, 8188, 8505, 8822, 9138, 9455, 9770, 10087, 10405, 10722, 11039, 11355, 11671, 11987, 12305, 12621, 12939, 13253, 13571, 13888, 14206, 14521, 14838, 15155, 15470, 15788, 16105, 16422, 16738, 17055, 17371, 17688, 18005, 18322, 18638, 18955, 19271, 19589, 19906, 20221, 20538, 20854, 21172, 21488, 21806, 22122, 22438, 22754, 23071, 23389, 23704, 24021, 24339, 24656, 24972]
    攻击次数 = 3
    CD = 20
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数 = 1
            self.倍率 *= 3.62
            self.CD *= 0.9
        elif x == 1:
            self.攻击次数 = 1
            self.倍率 *= 3.89
            self.CD *= 0.9


class 技能10(职业主动技能):
    名称 = '罗网投掷'
    所在等级 = 35
    等级上限 = 11
    基础等级 = 1
    # 基础 = 1540
    # 成长 = 159
    data0 = [0, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540]
    CD = 17
    TP成长 = 0.10
    TP上限 = 3

class 技能11(职业主动技能):
    名称 = '毒雷引爆'
    所在等级 = 40
    等级上限 = 60
    基础等级 = 33
    #毒气柱魔法攻击力：<data0>%
    data0 = [0, 7630, 8405, 9177, 9952, 10726, 11500, 12272, 13046, 13821, 14595, 15368, 16143, 16918, 17693, 18466, 19240, 20013, 20787, 21562, 22334, 23109, 23882, 24657, 25432, 26207, 26980, 27754, 28528, 29302, 30075, 30850, 31623, 32398, 33171, 33945, 34720, 35494, 36269, 37041, 37815, 38590, 39364, 40138, 40911, 41685, 42460, 43234, 44007, 44782, 45556, 46331, 47104, 47878, 48651, 49426, 50201, 50973, 51748, 52521, 53296, 54070, 54845, 55618, 56392, 57167, 57941, 58714, 59489, 60262, 61037]
    #侧踢攻击力 (魔法)：<data2>%
    data1 = [0, 3887, 4281, 4675, 5070, 5464, 5857, 6252, 6647, 7042, 7434, 7829, 8224, 8617, 9014, 9407, 9800, 10197, 10590, 10983, 11379, 11773, 12168, 12561, 12956, 13350, 13745, 14139, 14534, 14927, 15321, 15716, 16111, 16504, 16900, 17293, 17688, 18082, 18477, 18871, 19265, 19660, 20053, 20447, 20842, 21237, 21629, 22026, 22419, 22813, 23208, 23603, 23995, 24390, 24785, 25180, 25573, 25970, 26363, 26756, 27152, 27546, 27939, 28335, 28729, 29124, 29517, 29911, 30306, 30700, 31095]
    攻击次数2 = 1
    #中毒攻击力 (魔法)：<data1>%
    中毒 = [0, 1919, 2113, 2309, 2504, 2697, 2893, 3088, 3281, 3476, 3671, 3865, 4059, 4256, 4450, 4644, 4839, 5034, 5230, 5424, 5618, 5813, 6007, 6201, 6398, 6592, 6786, 6981, 7176, 7369, 7564, 7760, 7954, 8150, 8344, 8539, 8734, 8928, 9123, 9317, 9511, 9706, 9902, 10094, 10291, 10486, 10680, 10875, 11071, 11264, 11459, 11654, 11849, 12043, 12239, 12432, 12627, 12822, 13016, 13211, 13405, 13602, 13797, 13991, 14185, 14380, 14575, 14769, 14964, 15159, 15352]

    # 基础 = 6823
    # 成长 = 775
    # 攻击次数 = 1
    # 基础2 = 3535
    # 成长2 = 393
    # 攻击次数2 = 1
    # 中毒基础 = 1682
    # 中毒成长 = 196
    CD = 24
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数2 = 0
            self.攻击次数 = 3
            self.中毒叠加次数 = 3
            self.中毒 = [int(x*0.87) for x in self.中毒]
            self.data0 = [int(x*0.52) for x in self.data0]
        elif x == 1:
            self.攻击次数2 = 0
            self.攻击次数 = 3
            self.中毒叠加次数 = 3
            self.中毒 = [int(x*1.08) for x in self.中毒]
            self.data0 = [int(x*0.52) for x in self.data0]

class 技能12(被动技能):
    名称 = '狂·霸王拳'
    所在等级 = 40
    等级上限 = 11
    基础等级 = 1
    关联技能 = ['伏虎霸王拳']
    自定义描述 = 1

    #[狂 · 霸王拳]附加魔法攻击力：<data0>%
    data0 = [0, 630, 642, 654, 666, 678, 690, 702, 714, 726, 738, 750, 762, 774, 786, 798, 810, 822, 834, 846, 858, 870, 882, 894, 906, 918, 930, 942, 954, 966, 978, 990, 1002, 1014, 1026, 1038, 1050, 1062, 1074, 1086, 1098, 1110, 1122, 1134, 1146, 1158, 1170, 1182, 1194, 1206, 1218, 1230, 1242, 1254, 1266, 1278, 1290, 1302, 1314, 1326, 1338, 1350, 1362, 1374, 1386, 1398, 1410, 1422, 1434, 1446, 1458]

    def 技能描述(self, 武器类型):
        temp = ''
        temp += '[伏虎霸王拳]的攻击次数变更为1次<br>'+ \
            '[狂·霸王拳]附加魔法攻击力' + \
            str(self.data0[self.等级]) + '%<br>'+ \
            '每个异常状态附加攻击力 (最多3个)：20%'
        return temp

    def 加成倍率(self, 武器类型):
        return 1.0

    def 技能加成倍率(self, 武器类型):
        # 攻击次数变为1，叠3次异常
        return round((self.data0[self.等级]/100)/3*1.6,5)
        # return round(5.18 + 0.12 * self.等级, 5)


class 技能13(职业主动技能):
    名称 = '血色风暴'
    所在等级 = 45
    等级上限 = 60
    基础等级 = 31
    #毒针伤害 (魔法)：<data0>%
    data0 = [0, 976, 1076, 1175, 1273, 1373, 1471, 1571, 1669, 1767, 1868, 1966, 2065, 2166, 2264, 2364, 2463, 2561, 2661, 2759, 2860, 2958, 3056, 3156, 3254, 3353, 3454, 3552, 3652, 3750, 3850, 3949, 4047, 4147, 4246, 4345, 4446, 4544, 4643, 4742, 4841, 4939, 5038, 5138, 5236, 5336, 5435, 5534, 5633, 5731, 5832, 5931, 6030, 6130, 6228, 6327, 6426, 6524, 6624, 6722, 6821, 6921, 7019, 7121, 7219, 7317, 7417, 7516, 7616, 7714, 7813]
    攻击次数 = 10
    #出血伤害 (魔法)：<data1>%
    出血 = [0, 976, 1076, 1175, 1273, 1373, 1471, 1571, 1669, 1767, 1868, 1966, 2065, 2166, 2264, 2364, 2463, 2561, 2661, 2759, 2860, 2958, 3056, 3156, 3254, 3353, 3454, 3552, 3652, 3750, 3850, 3949, 4047, 4147, 4246, 4345, 4446, 4544, 4643, 4742, 4841, 4939, 5038, 5138, 5236, 5336, 5435, 5534, 5633, 5731, 5832, 5931, 6030, 6130, 6228, 6327, 6426, 6524, 6624, 6722, 6821, 6921, 7019, 7121, 7219, 7317, 7417, 7516, 7616, 7714, 7813]
    出血叠加次数 = 10
    # 基础 = 8800
    # 成长 = 990
    # 出血基础 = 8800
    # 出血成长 = 990
    CD = 45
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数 += 1
            self.出血叠加次数 += 1
            self.倍率 *= 1.09
        elif x == 1:
            self.攻击次数 += 1
            self.出血叠加次数 += 1
            self.倍率 *= 1.09
            self.倍率 *= 1.16


class 技能14(被动技能):
    名称 = '千手奥义'
    所在等级 = 48
    等级上限 = 40
    基础等级 = 20
    关联技能 = ['血色风暴', '天崩地裂', '爆破污桶', '千锁乱舞']
    关联技能2 = ['抛沙', '毒瓶投掷', '毒针投掷', '擒月炎', '砖块投掷', '罗网投掷', '螺旋滑铲',
             '伏虎霸王拳', '毒雷引爆', '暗街夺命锁', '飞沙走石', '燃火轰天炮', '逆道·爆狱', '逆道·幽链之界']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.065 + 0.02 * self.等级, 5)

    def 加成倍率2(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(0.92 + 0.02 * self.等级, 5)


class 技能15(职业主动技能):
    名称 = '天崩地裂'
    所在等级 = 50
    等级上限 = 40
    基础等级 = 12
    #地面爆炸魔法攻击力：<data0>%
    data0 = [0, 19264, 23732, 28200, 32666, 37135, 41600, 46070, 50536, 55004, 59472, 63939, 68407, 72875, 77341, 81810, 86275, 90744, 95211, 99679, 104146, 108613, 113081, 117548, 122015, 126482, 130949, 135417, 139885, 144351, 148820, 153286, 157756, 162222, 166690, 171157, 175624, 180092, 184560, 189025, 193495]
    #石块落地魔法攻击力：<data1>%
    data1 = [0, 27454, 33819, 40186, 46552, 52918, 59283, 65649, 72016, 78381, 84747, 91113, 97480, 103846, 110212, 116579, 122944, 129309, 135676, 142043, 148408, 154774, 161140, 167507, 173873, 180237, 186603, 192969, 199336, 205703, 212069, 218435, 224801, 231165, 237534, 243900, 250264, 256630, 262995, 269363, 275729]
    攻击次数2 = 1
    #每秒灼伤攻击力 (魔法)：<data2>%
    灼伤 = [0, 81, 97, 117, 136, 154, 172, 190, 210, 228, 248, 266, 284, 304, 323, 341, 359, 378, 395, 414, 434, 452, 469, 489, 508, 527, 545, 565, 583, 601, 619, 637, 657, 676, 693, 713, 731, 751, 768, 787, 807]
     #每秒中毒攻击力 (魔法)：<data4>%
    中毒 = [0, 0, 0, 117, 136, 154, 172, 190, 210, 228, 248, 266, 284, 304, 323, 341, 359, 378, 395, 414, 434, 452, 469, 489, 508, 527, 545, 565, 583, 601, 619, 637, 657, 676, 693, 713, 731, 751, 768, 787, 807]
    #出血攻击力 (魔法)：<data7>%
    出血 = [0, 0, 0, 0, 0, 0, 1039, 1151, 1262, 1374, 1486, 1599, 1710, 1822, 1933, 2045, 2156, 2267, 2381, 2493, 2604, 2715, 2826, 2938, 3050, 3162, 3273, 3386, 3496, 3608, 3720, 3832, 3944, 4055, 4166, 4278, 4389, 4502, 4612, 4726, 4836]

    # 基础 = 35891
    # 成长 = 10833
    # 灼伤基础 = 372
    # 灼伤成长 = 111.5
    # 中毒基础 = 372
    # 中毒成长 = 111.5
    # 出血基础 = 372
    # 出血成长 = 111.5
    CD = 145


class 技能16(职业主动技能):
    名称 = '爆破污桶'
    所在等级 = 60
    等级上限 = 40
    基础等级 = 23
    # 基础 = 10613
    # 成长 = 1197
    # 基础2 = 13827
    # 成长2 = 1558
    CD = 20
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    投掷强化 = 0

    #木桶魔法伤害：<data0>%
    data0 = [0, 11803, 13000, 14198, 15394, 16592, 17790, 18988, 20184, 21383, 22579, 23777, 24975, 26173, 27369, 28567, 29764, 30962, 32158, 33355, 34553, 35750, 36947, 38144, 39343, 40541, 41737, 42936, 44132, 45329, 46528, 47726, 48922, 50121, 51317, 52514, 53713, 54911, 56107, 57304, 58502, 59699, 60897, 62096, 63292, 64489, 65686, 66884, 68081, 69278, 70475]

    护石选项 = ['魔界', '圣痕']

    def 等效百分比(self,武器类型):
        if self.投掷强化 == 1:
        #铁桶魔法伤害：<data2>%
            self.data0 = [0, 15368, 16925, 18485, 20043, 21604, 23162, 24723, 26277, 27836, 29397, 30956, 32514, 34074, 35633, 37193, 38750, 40311, 41870, 43430, 44985, 46543, 48103, 49661, 51222, 52781, 54340, 55898, 57458, 59017, 60575, 62135, 63692, 65250, 66811, 68368, 69930, 71488, 73047, 74606, 76164, 77724, 79281, 80842, 82400, 83957, 85518, 87076, 88637, 90196, 91754]
        return super().等效百分比(武器类型)

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.23
        elif x == 1:
            self.倍率 *= 1.32


class 技能17(职业主动技能):
    名称 = '千锁乱舞'
    所在等级 = 70
    等级上限 = 40
    基础等级 = 18
    # 基础 = 11905
    # 成长 = 1340
    # 出血基础 = 11905
    # 出血成长 = 1340

    #魔法攻击力：<data0>%
    data0 = [0, 2643, 2913, 3180, 3450, 3717, 3986, 4254, 4522, 4790, 5058, 5327, 5595, 5865, 6131, 6401, 6668, 6937, 7205, 7475, 7742, 8011, 8280, 8547, 8816, 9083, 9352, 9620, 9888, 10156, 10426, 10693, 10962, 11231, 11498, 11767, 12035, 12303, 12572, 12838, 13108, 13377, 13646, 13912, 14182, 14450, 14717, 14985, 15253, 15522, 15790, 16059, 16327, 16596, 16863, 17133, 17400, 17671, 17937, 18206, 18474, 18742, 19010, 19278, 19547, 19815, 20085, 20351, 20621, 20888, 21157]
    攻击次数 = 5
    #出血攻击力 (魔法)：<data1>%
    出血 = [0, 2643, 2913, 3180, 3450, 3717, 3986, 4254, 4522, 4790, 5058, 5327, 5595, 5865, 6131, 6401, 6668, 6937, 7205, 7475, 7742, 8011, 8280, 8547, 8816, 9083, 9352, 9620, 9888, 10156, 10426, 10693, 10962, 11231, 11498, 11767, 12035, 12303, 12572, 12838, 13108, 13377, 13646, 13912, 14182, 14450, 14717, 14985, 15253, 15522, 15790, 16059, 16327, 16596, 16863, 17133, 17400, 17671, 17937, 18206, 18474, 18742, 19010, 19278, 19547, 19815, 20085, 20351, 20621, 20888, 21157]
    出血叠加次数 = 5

    CD = 50
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数 += 1
            self.出血叠加次数 += 1
            # self.倍率 *= 1.2
            self.CD *= 0.91
        elif x == 1:
            self.攻击次数 += 1
            self.出血叠加次数 += 1
            self.倍率 *= 1.07
            self.CD *= 0.91


class 技能18(被动技能):
    名称 = '诡诈之道'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 11
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能19(职业主动技能):
    名称 = '暗街夺命锁'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 16
    # 基础 = 33880
    # 成长 = 3820
    # 出血基础 = 8703
    # 出血成长 = 985

    # 翻转地面魔法攻击力：<data0>%
    # data0 = [0, 23545, 25934, 28323, 30712, 33099, 35488, 37877, 40267, 42655, 45042, 47432, 49821, 52210, 54597, 56986, 59375, 61765, 64153, 66540, 68929, 71319, 73707, 76095, 78484, 80873, 83262, 85650, 88039, 90428, 92817, 95205, 97592, 99983, 102372, 104761, 107148, 109536, 111925, 114315, 116703]
    #对无法抓取的敌人的魔法攻击力：<data1>%
    data0 = [0, 37672, 41494, 45317, 49138, 52960, 56781, 60604, 64425, 68248, 72068, 75891, 79713, 83534, 87356, 91180, 95000, 98822, 102645, 106467, 110288, 114109, 117931, 121753, 125575, 129397, 133220, 137041, 140862, 144685, 148507, 152329, 156152, 159972, 163793, 167615, 171437, 175260, 179081, 182904, 186726]
    # 地面冲撞爆炸魔法攻击力：<data2>%
    # data1 = [0, 14128, 15561, 16993, 18426, 19860, 21293, 22726, 24160, 25592, 27026, 28458, 29892, 31326, 32757, 34190, 35624, 37058, 38491, 39925, 41358, 42791, 44225, 45659, 47090, 48523, 49957, 51389, 52823, 54257, 55688, 57122, 58556, 59989, 61423, 62856, 64290, 65722, 67155, 68589, 70021]
    #出血攻击力 (魔法)：<data3>%
    出血 = [0, 9418, 10372, 11328, 12283, 13240, 14195, 15150, 16106, 17061, 18017, 18972, 19929, 20884, 21840, 22794, 23750, 24704, 25661, 26616, 27571, 28527, 29483, 30439, 31392, 32350, 33304, 34259, 35214, 36172, 37127, 38082, 39037, 39994, 40948, 41902, 42860, 43814, 44769, 45725, 46682]

    CD = 40
    是否有护石 = 1
    护石选项 = ['圣痕']

    def 装备护石(self, x):
        self.倍率 *= 1.32


class 技能20(职业主动技能):
    名称 = '飞沙走石'
    所在等级 = 80
    等级上限 = 40
    基础等级 = 13
    # 基础 = 1427
    # 成长 = 161
    # 攻击次数 = 10
    # 基础2 = 8471
    # 成长2 = 956
    # 攻击次数2 = 2
    # 出血基础 = 13355
    # 出血成长 = 1511

    #小石块魔法攻击力：<data0>%
    data0 = [0, 1586, 1747, 1908, 2071, 2230, 2391, 2554, 2713, 2876, 3037, 3196, 3359, 3520, 3680, 3842, 4002, 4163, 4325, 4486, 4646, 4808, 4969, 5129, 5290, 5452, 5612, 5773, 5935, 6097, 6256, 6418, 6580, 6739, 6902, 7062, 7222, 7385, 7545, 7706, 7868]
    攻击次数 = 10
    #巨型石块魔法攻击力：<data1>%
    data1 = [0, 9425, 10380, 11337, 12292, 13248, 14206, 15161, 16117, 17074, 18030, 18985, 19943, 20899, 21854, 22811, 23766, 24722, 25680, 26635, 27591, 28546, 29503, 30459, 31415, 32373, 33328, 34285, 35240, 36196, 37152, 38109, 39065, 40020, 40977, 41933, 42888, 43846, 44801, 45757, 46714]
    攻击次数2 = 2
    #出血攻击力 (魔法)：<data2>%
    出血 = [0, 14881, 16389, 17899, 19409, 20920, 22429, 23939, 25450, 26958, 28468, 29976, 31487, 32998, 34506, 36017, 37527, 39036, 40545, 42054, 43564, 45075, 46585, 48094, 49605, 51114, 52623, 54132, 55642, 57153, 58662, 60173, 61682, 63192, 64700, 66210, 67721, 69231, 70740, 72250, 73761]
    #冲击波魔法攻击力：<data3>%
    # data3 = [0, 9425, 10380, 11337, 12292, 13248, 14206, 15161, 16117, 17074, 18030, 18985, 19943, 20899, 21854, 22811, 23766, 24722, 25680, 26635, 27591, 28546, 29503, 30459, 31415, 32373, 33328, 34285, 35240, 36196, 37152, 38109, 39065, 40020, 40977, 41933, 42888, 43846, 44801, 45757, 46714]

    CD = 45
    是否有护石 = 1
    护石选项 = ['圣痕']

    def 装备护石(self, x):
        self.攻击次数 = 0
        self.攻击次数2 *= 2.6
        self.CD *= 0.9


class 技能21(职业主动技能):
    名称 = '燃火轰天炮'
    所在等级 = 85
    等级上限 = 40
    基础等级 = 5
    # 基础 = 109499.32
    # 成长 = 33063.86
    #铁管打击 (魔法)：<data0>%
    data0 = [0, 26895, 33134, 39370, 45608, 51843, 58079, 64317, 70555, 76791, 83026, 89265, 95506, 101738, 107973, 114215, 120446, 126685, 132924, 139159, 145396, 151636, 157869, 164109, 170345, 176582, 182820, 189056, 195291, 201529, 207766, 214002, 220240, 226476, 232712, 238951, 245186, 251424, 257663, 263898, 270133]
    攻击次数 = 1
    #第1~2次爆炸 (魔法)：<data1>%
    data1 = [0, 15592, 19208, 22823, 26439, 30055, 33672, 37285, 40901, 44517, 48132, 51747, 55363, 58980, 62594, 66210, 69826, 73442, 77055, 80674, 84288, 87904, 91520, 95136, 98749, 102365, 105982, 109598, 113213, 116830, 120442, 124060, 127676, 131291, 134906, 138523, 142137, 145753, 149368, 152985, 156600]
    攻击次数2 = 2
    #第3~5次爆炸 (魔法)：<data2>%
    data2 = [0, 7796, 9604, 11411, 13219, 15028, 16834, 18643, 20452, 22258, 24067, 25874, 27682, 29490, 31298, 33105, 34913, 36721, 38529, 40336, 42144, 43951, 45762, 47566, 49375, 51183, 52991, 54798, 56607, 58414, 60223, 62030, 63837, 65644, 67455, 69260, 71069, 72878, 74685, 76492, 78300]
    攻击次数3 = 3

    异常叠加增伤 =1.75

    CD = 180.0


class 技能22(被动技能):
    名称 = '逆道·皆允'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 4

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(职业主动技能):
    名称 = '逆道·爆狱'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 6
    投掷强化 = 0
    # 基础 = 82114
    # 成长 = 9273
    # 攻击次数 = 1
    # 基础2 = 85125
    # 成长2 = 9610
    # 攻击次数2 = 0
    #木桶多段攻击力 (魔法)：<data0>%
    data0 = [0, 7311, 8053, 8795, 9536, 10278, 11020, 11762, 12503, 13245, 13987, 14729, 15470, 16212, 16954, 17696, 18437, 19179, 19921, 20663, 21404, 22146, 22888, 23630, 24371, 25113, 25855, 26597, 27338, 28080, 28822, 29564, 30305, 31047, 31789, 32531, 33272, 34014, 34756, 35498, 36239]
    攻击次数 = 5
    #爆炸攻击力 (魔法)：<data1>%
    data1 = [0, 54836, 60399, 65962, 71526, 77089, 82652, 88215, 93778, 99341, 104904, 110467, 116031, 121594, 127157, 132720, 138283, 143846, 149409, 154973, 160536, 166099, 171662, 177225, 182788, 188351, 193915, 199478, 205041, 210604, 216167, 221730, 227293, 232856, 238420, 243983, 249546, 255109, 260672, 266235, 271798]
    攻击次数2 = 1

    def 等效百分比(self, 武器类型):
        if self.投掷强化 == 1:
            #金属桶多段攻击力 (魔法)：<data2>%
            self.data0 = [0, 8420, 9275, 10129, 10983, 11838, 12692, 13546, 14401, 15255, 16109, 16964, 17818, 18672, 19526, 20381, 21235, 22089, 22944, 23798, 24652, 25507, 26361, 27215, 28069, 28924, 29778, 30632, 31487, 32341, 33195, 34050, 34904, 35758, 36613, 37467, 38321, 39175, 40030, 40884, 41738]
            #连锁爆炸攻击力 (魔法)：<data3>%
            self.data1 = [0, 10526, 11594, 12661, 13729, 14797, 15865, 16933, 18001, 19069, 20137, 21205, 22272, 23340, 24408, 25476, 26544, 27612, 28680, 29748, 30815, 31883, 32951, 34019, 35087, 36155, 37223, 38291, 39358, 40426, 41494, 42562, 43630, 44698, 45766, 46834, 47902, 48969, 50037, 51105, 52173]
            self.攻击次数2 = 5
            #灼伤攻击力 (魔法)：<data4>%
            self.灼伤 = [0, 2105, 2318, 2532, 2745, 2959, 3173, 3386, 3600, 3813, 4027, 4241, 4454, 4668, 4881, 5095, 5308, 5522, 5736, 5949, 6163, 6376, 6590, 6803, 7017, 7231, 7444, 7658, 7871, 8085, 8298, 8512, 8726, 8939, 9153, 9366, 9580, 9793, 10007, 10221, 10434]
            self.灼伤叠加次数 = 5
        return super().等效百分比(武器类型)

    CD = 60.0


class 技能24(职业主动技能):
    名称 = '逆道·幽链之界'
    所在等级 = 100
    等级上限 = 40
    基础等级 = 2
    # 基础 = 276929
    # 成长 = 83592
    # 出血基础 = 2854
    # 出血成长 = 862
    # 中毒基础 = 2854
    # 中毒成长 = 862
    # 灼伤基础 = 2854
    # 灼伤成长 = 862

    #锁链横扫攻击力 (魔法)：<data0>%
    data0 = [0, 11150, 13735, 16321, 18907, 21492, 24078, 26663, 29249, 31835, 34420, 37006, 39591, 42177, 44763, 47348, 49934, 52519, 55105, 57691, 60276, 62862, 65447, 68033, 70618, 73204, 75790, 78375, 80961, 83546, 86132, 88718, 91303, 93889, 96474, 99060, 101646, 104231, 106817, 109402, 111988]
    攻击次数 = 5
    #锁链突刺攻击力 (魔法)：<data1>%
    data1 = [0, 18583, 22893, 27202, 31511, 35821, 40130, 44439, 48749, 53058, 57367, 61677, 65986, 70295, 74605, 78914, 83223, 87533, 91842, 96151, 100461, 104770, 109079, 113389, 117698, 122007, 126316, 130626, 134935, 139244, 143554, 147863, 152172, 156482, 160791, 165100, 169410, 173719, 178028, 182338, 186647]
    攻击次数2 = 1
    #锁链旋转攻击力 (魔法)：<data2>%
    data2 = [0, 11150, 13735, 16321, 18907, 21492, 24078, 26663, 29249, 31835, 34420, 37006, 39591, 42177, 44763, 47348, 49934, 52519, 55105, 57691, 60276, 62862, 65447, 68033, 70618, 73204, 75790, 78375, 80961, 83546, 86132, 88718, 91303, 93889, 96474, 99060, 101646, 104231, 106817, 109402, 111988]
    攻击次数3 = 10
    #建筑炸弹地面上攻击力 (魔法)：<data3>%
    data3 = [0, 55751, 68679, 81607, 94535, 107463, 120391, 133319, 146247, 159175, 172103, 185031, 197959, 210887, 223815, 236743, 249671, 262599, 275527, 288455, 301383, 314311, 327239, 340167, 353094, 366022, 378950, 391878, 404806, 417734, 430662, 443590, 456518, 469446, 482374, 495302, 508230, 521158, 534086, 547014, 559942]
    攻击次数4 = 1
    #建筑炸弹爆炸攻击力 (魔法)：<data4>%
    data4 = [0, 118937, 146516, 174096, 201676, 229255, 256835, 284415, 311994, 339574, 367154, 394733, 422313, 449893, 477472, 505052, 532632, 560211, 587791, 615370, 642950, 670530, 698109, 725689, 753269, 780848, 808428, 836008, 863587, 891167, 918747, 946326, 973906, 1001486, 1029065, 1056645, 1084225, 1111804, 1139384, 1166964, 1194543]
    攻击次数5 = 1
    #出血攻击力 (魔法)：<data5>%
    出血 = [0, 3716, 4578, 5440, 6302, 7164, 8026, 8887, 9749, 10611, 11473, 12335, 13197, 14059, 14921, 15782, 16644, 17506, 18368, 19230, 20092, 20954, 21815, 22677, 23539, 24401, 25263, 26125, 26987, 27848, 28710, 29572, 30434, 31296, 32158, 33020, 33882, 34743, 35605, 36467, 37329]
    #中毒攻击力 (魔法)：<data6>%
    中毒 = [0, 3716, 4578, 5440, 6302, 7164, 8026, 8887, 9749, 10611, 11473, 12335, 13197, 14059, 14921, 15782, 16644, 17506, 18368, 19230, 20092, 20954, 21815, 22677, 23539, 24401, 25263, 26125, 26987, 27848, 28710, 29572, 30434, 31296, 32158, 33020, 33882, 34743, 35605, 36467, 37329]
    #灼伤攻击力 (魔法)：<data7>%
    灼伤 = [0, 3716, 4578, 5440, 6302, 7164, 8026, 8887, 9749, 10611, 11473, 12335, 13197, 14059, 14921, 15782, 16644, 17506, 18368, 19230, 20092, 20954, 21815, 22677, 23539, 24401, 25263, 26125, 26987, 27848, 28710, 29572, 30434, 31296, 32158, 33020, 33882, 34743, 35605, 36467, 37329]

    CD = 290
    关联技能 = ['无']

    def 加成倍率(self, 武器类型):
        return 0.0


技能列表 = []
i = 0
while i >= 0:
    try:
        exec('技能列表.append(技能' + str(i) + '())')
        i += 1
    except:
        i = -1

技能序号 = dict()
for i in range(len(技能列表)):
    技能序号[技能列表[i].名称] = i

归元·街霸·男一觉序号 = 0
归元·街霸·男二觉序号 = 0
归元·街霸·男三觉序号 = 0
for i in 技能列表:
    if i.所在等级 == 50:
        归元·街霸·男一觉序号 = 技能序号[i.名称]
    if i.所在等级 == 85:
        归元·街霸·男二觉序号 = 技能序号[i.名称]
    if i.所在等级 == 100:
        归元·街霸·男三觉序号 = 技能序号[i.名称]

归元·街霸·男护石选项 = ['无']
for i in 技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        归元·街霸·男护石选项.append(i.名称)

归元·街霸·男符文选项 = ['无']
for i in 技能列表:
    if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
        归元·街霸·男符文选项.append(i.名称)


class 归元·街霸·男角色属性(角色属性):
    实际名称 = '归元·街霸·男'
    角色 = '格斗家(男)'
    职业 = '街霸'

    武器选项 = ['爪']

    类型选择 = ['物理百分比', '魔法百分比']

    类型 = '魔法百分比'
    防具类型 = '重甲'
    防具精通属性 = ['力量', '智力']

    主BUFF = 1.79

    远古记忆 = 0

    def __init__(self):
        基础属性输入(self)
        self.技能栏 = deepcopy(技能列表)
        self.技能序号 = deepcopy(技能序号)

    def 数据计算(self, x=0, y=-1):
        self.预处理()
        # 初步计算
        技能释放次数 = self.技能释放次数计算()
        技能单次伤害 = self.技能单次伤害计算(y)
        技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害)

        # 霸王拳
        if self.技能栏[self.技能序号['狂·霸王拳']].等级 != 0:
            if 技能总伤害[self.技能序号['伏虎霸王拳']] != 0:
                temp = 技能总伤害[self.技能序号['伏虎霸王拳']] * \
                    (self.技能栏[self.技能序号['狂·霸王拳']].技能加成倍率(self.武器类型)-1)
                if self.装备检查('奔流不息之狂风'):
                    temp = temp / 0.7
                if self.装备检查('奔流不息之伽蓝'):
                    temp *= 0.7
                技能总伤害[self.技能序号['伏虎霸王拳']] += temp

        # 返回结果
        return self.数据返回(x, 技能释放次数, 技能总伤害)


class 归元·街霸·男(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 归元·街霸·男角色属性()
        self.角色属性A = 归元·街霸·男角色属性()
        self.角色属性B = 归元·街霸·男角色属性()
        self.一觉序号 = 归元·街霸·男一觉序号
        self.二觉序号 = 归元·街霸·男二觉序号
        self.三觉序号 = 归元·街霸·男三觉序号
        self.护石选项 = deepcopy(归元·街霸·男护石选项)
        self.符文选项 = deepcopy(归元·街霸·男符文选项)

    def 界面(self):
        super().界面()
        self.毒瓶强化 = QCheckBox('强化毒瓶投掷', self.main_frame2)
        self.毒瓶强化.resize(100, 20)
        self.毒瓶强化.move(335, 400)
        self.毒瓶强化.setStyleSheet(复选框样式)
        self.毒瓶强化.setChecked(False)

        self.毒针强化 = QCheckBox('强化毒针投掷', self.main_frame2)
        self.毒针强化.resize(100, 20)
        self.毒针强化.move(335, 430)
        self.毒针强化.setStyleSheet(复选框样式)
        self.毒针强化.setChecked(False)

        self.砖块强化 = QCheckBox('强化砖块投掷', self.main_frame2)
        self.砖块强化.resize(100, 20)
        self.砖块强化.move(335, 460)
        self.砖块强化.setStyleSheet(复选框样式)
        self.砖块强化.setChecked(False)

        self.污桶强化 = QCheckBox('强化爆破污桶', self.main_frame2)
        self.污桶强化.resize(100, 20)
        self.污桶强化.move(335, 490)
        self.污桶强化.setStyleSheet(复选框样式)
        self.污桶强化.setChecked(True)

        self.爆狱强化 = QCheckBox('强化逆道爆狱', self.main_frame2)
        self.爆狱强化.resize(100, 20)
        self.爆狱强化.move(335, 520)
        self.爆狱强化.setStyleSheet(复选框样式)
        self.爆狱强化.setChecked(True)

        self.职业存档.append(('毒瓶强化', self.毒瓶强化, 0))
        self.职业存档.append(('毒针强化', self.毒针强化, 0))
        self.职业存档.append(('砖块强化', self.砖块强化, 0))
        self.职业存档.append(('污桶强化', self.污桶强化, 0))
        self.职业存档.append(('爆狱强化', self.爆狱强化, 0))

    def 输入属性(self, 属性, x=0):
        super().输入属性(属性, x)
        属性.技能栏[属性.技能序号['毒瓶投掷']].投掷强化 = 1 if self.毒瓶强化.isChecked() else 0
        属性.技能栏[属性.技能序号['毒针投掷']].投掷强化 = 1 if self.毒针强化.isChecked() else 0
        属性.技能栏[属性.技能序号['砖块投掷']].投掷强化 = 1 if self.砖块强化.isChecked() else 0
        属性.技能栏[属性.技能序号['爆破污桶']].投掷强化 = 1 if self.污桶强化.isChecked() else 0
        属性.技能栏[属性.技能序号['逆道·爆狱']].投掷强化 = 1 if self.爆狱强化.isChecked() else 0
        # if self.毒瓶强化.isChecked():
        #     属性.技能栏[属性.技能序号['毒瓶投掷']].基础 = 0
        #     属性.技能栏[属性.技能序号['毒瓶投掷']].成长 = 0
        #     属性.技能栏[属性.技能序号['毒瓶投掷']].中毒基础 = 1034
        #     属性.技能栏[属性.技能序号['毒瓶投掷']].中毒成长 = 184
        #     属性.技能栏[属性.技能序号['毒瓶投掷']].灼伤基础 = 1034
        #     属性.技能栏[属性.技能序号['毒瓶投掷']].灼伤成长 = 184
        #     属性.技能栏[属性.技能序号['毒瓶投掷']].投掷强化
        # if self.毒针强化.isChecked():
        #     属性.技能栏[属性.技能序号['毒针投掷']].基础 = 976
        #     属性.技能栏[属性.技能序号['毒针投掷']].成长 = 92
        #     属性.技能栏[属性.技能序号['毒针投掷']].出血基础 = 1276
        #     属性.技能栏[属性.技能序号['毒针投掷']].出血成长 = 144
        #     属性.技能栏[属性.技能序号['毒针投掷']].感电基础 = 0
        #     属性.技能栏[属性.技能序号['毒针投掷']].感电成长 = 0
        # if self.砖块强化.isChecked():
        #     属性.技能栏[属性.技能序号['砖块投掷']].攻击次数 = 0
        #     属性.技能栏[属性.技能序号['砖块投掷']].攻击次数2 = 1
        #     属性.技能栏[属性.技能序号['砖块投掷']].倍率 = 1
        # if self.污桶强化.isChecked():
        #     属性.技能栏[属性.技能序号['爆破污桶']].攻击次数 = 0
        #     属性.技能栏[属性.技能序号['爆破污桶']].攻击次数2 = 1
        # if self.爆狱强化.isChecked():
        #     属性.技能栏[属性.技能序号['逆道·爆狱']].攻击次数 = 0
        #     属性.技能栏[属性.技能序号['逆道·爆狱']].攻击次数2 = 1
        #     属性.技能栏[属性.技能序号['逆道·爆狱']].灼伤基础 = 1889 * 5
        #     属性.技能栏[属性.技能序号['逆道·爆狱']].灼伤成长 = 214 * 5
